/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package it.nesimuge.score.gui.model;

import it.lapomuge.db.entity.Gara;
import it.lapomuge.db.entity.Partecipazione;
import it.nesimuge.score.calcolatore.CalcolatoreVoti;
import it.nesimuge.score.gui.model.colonne.ColonnePartecipanti;

import javax.swing.table.AbstractTableModel;

/**
 * 
 * @author Muge
 */
public class ModelTableAtleti extends AbstractTableModel {

	private Gara gara = null;

	public Gara getGara() {
		return gara;
	}

	public void setGara(Gara gara) {
		if (gara != null) {
			this.gara = gara;
			fireTableDataChanged();
		}
	}

	public int getRowCount() {
		// if (gara != null && gara.getPartecipaziones() != null) {
		// return gara.getPartecipaziones().size();
		// } else {
		// return 0;
		// }
		return 0;
	}

	@Override
	public Class<?> getColumnClass(int columnIndex) {
		return ColonnePartecipanti.values()[columnIndex].getClasse();
	}

	public int getColumnCount() {
		return ColonnePartecipanti.values().length;
	}

	@Override
	public String getColumnName(int column) {
		return ColonnePartecipanti.values()[column].getTitolo();
	}

	public Object getValueAt(int rowIndex, int columnIndex) {
		Partecipazione partecipazione = null; // gara.getPartecipaziones().get(rowIndex);
		switch (ColonnePartecipanti.values()[columnIndex]) {
		case COGNOME:
			return partecipazione.getAtleta().getCognome();
		case NOME:
			return partecipazione.getAtleta().getNome();
		case STATO:
			// CodiceStatoPartecipazione c = (CodiceStatoPartecipazione)
			// CodiceCollector.findByCodice(CodiceStatoPartecipazione.values(),
			// partecipazione.getStato());
			return null;// c.getTesto();
		case VOTO:
			CalcolatoreVoti calc = new CalcolatoreVoti(partecipazione);
			Double voto = calc.getVoto();
			if (voto != null) {
				return voto;
			} else {
				return "";
			}

		}
		return "Sconosciuto";
	}

	public Partecipazione getPartecipazione(int rows) {
		// return this.gara.getPartecipazion().get(rows);
		return null;
	}

}
